package com.greenold.service.mapper;

import com.greenold.service.domain.vo.NurseNameVO;
import com.greenold.service.domain.vo.RoomVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author YueYang
 * Created on 2025/10/15 14:24
 * @version 1.0
 */
@Mapper
public interface RoomBedMapper {
    /**
     * 查询当前楼层的所有房间列表
     *
     * @param floorId 楼层id
     * @return 返回响应集合
     */
    List<RoomVO> queryList(Long floorId);

    /**
     * 查询所有楼层id
     *
     * @return 返回楼层id对应的集合
     */
    List<Long> queryIdList();

    /**
     * 获取所有的护理员信息，用于前端展示
     *
     * @return 返回所有的护理员信息
     */
    List<NurseNameVO> queryNurses();

    /**
     * 根据床位ID列表删除护理员绑定关系
     *
     * @param bedIdList 床位ID列表
     * @return 删除的记录数
     */
    int deleteNurseBindingByBedIds(@Param("bedIdList") List<Long> bedIdList);

    /**
     * 批量插入护理员绑定关系
     *
     * @param bedIdList 床位ID列表
     * @param nurseIdList 护理员ID列表
     * @return 插入的记录数
     */
    int insertNurseBinding(@Param("bedIdList") List<Long> bedIdList, @Param("nurseIdList") List<Long> nurseIdList);
}
